# Glue comes in two flavors, one for flat address spaces and one for base
# relative.  When gen_glue is compiled, which form of glue is generated
# when it is run depends upon whether "__no_baserel" or "__baserel" was defined
# when it was compiled.

#### Start of system configuration section. ####

srcdir =	@srcdir@

ifeq ($(srcdir),.)
srcdir = ..
endif

VPATH :=	$(srcdir)

# Common prefix for machine-independent installed files.
prefix =	@prefix@

# Common prefix for machine-dependent installed files.
exec_prefix =	@exec_prefix@

bindir =	$(exec_prefix)/bin
libdir =	$(exec_prefix)/Sys/libs

INSTALL =	@INSTALL@
INSTALL_DATA =	@INSTALL_DATA@

CC =		@CC@
AS =		as

CFLAGS =	@CFLAGS@
LDFLAGS =	@LDFLAGS@

RANLIB =	@RANLIB@
AR =		ar
RM =		rm -f

#### End system configuration section ####

# BASE is defined to be either "no-baserel" or "baserel" by an upper level
# makefile.  The default is "no-baserel".

BASE =		no-baserel

FLAVOR_CFLAGS =
OTHER_CFLAGS =	-fomit-frame-pointer
ALL_CFLAGS =	$(CFLAGS) $(FLAVOR_CFLAGS) $(OTHER_CFLAGS) $(INCS)

INCS =		-I$(srcdir) -I$(srcdir)/../library -I$(srcdir)/../include
LIB =		libglue.a
LIB_P =		libglue_p.a
SHELL =		/bin/sh

.c.o:
		$(CC) $(ALL_CFLAGS) -c $< -o $@

ifeq ($(BASE),baserel)
all:		$(LIB)
else
all:		$(LIB) $(LIB_P)
endif

$(LIB):		gen_glue
		rm -f *.o
		./gen_glue $(BASE)
		$(AR) r $@ *.o
		rm -f *.o

$(LIB_P):	gen_glue
		rm -f *.o
		./gen_glue profiling
		$(AR) r $@ *.o
		rm -f *.o

gen_glue:	gen_glue.c $(srcdir)/../include/sys/syscall.def
		$(CC) $(ALL_CFLAGS) $< -o $@

clean:
		rm -rf *baserel

clobber:	clean
		rm -f Makefile
